//
//  LZTabBarController.h
//  Project
//
//  Created by liting on 2025/8/29.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface LZTabBarController : UITabBarController

/**
 快速创建标签栏控制器

 @param viewControllers 视图控制器数组
 @param titles 标题数组
 @param images 图片名称数组
 @param selectedImages 选中图片名称数组
 @return 标签栏控制器实例
 */
+ (instancetype)tabBarControllerWithViewControllers:(NSArray<UIViewController *> *)viewControllers
                                             titles:(NSArray<NSString *> *)titles
                                             images:(NSArray<NSString *> *)images
                                     selectedImages:(NSArray<NSString *> *)selectedImages;

/**
 添加单个标签项

 @param viewController 视图控制器
 @param title 标题
 @param image 图片名称
 @param selectedImage 选中图片名称
 */
- (void)addViewController:(UIViewController *)viewController
                    title:(NSString *)title
                    image:(NSString *)image
            selectedImage:(NSString *)selectedImage;

/**
 设置标签栏外观

 @param tintColor 选中颜色
 @param barTintColor 背景颜色
 @param unselectedColor 未选中颜色
 */
- (void)setTabBarTintColor:(UIColor *)tintColor
              barTintColor:(UIColor *)barTintColor
           unselectedColor:(UIColor *)unselectedColor;

/**
 显示角标

 @param badgeValue 角标值
 @param index 标签索引
 */
- (void)showBadgeValue:(NSString *)badgeValue atIndex:(NSInteger)index;

/**
 隐藏角标

 @param index 标签索引
 */
- (void)hideBadgeAtIndex:(NSInteger)index;

/**
 设置中间凸起按钮（可选）

 @param button 凸起按钮
 @param index 插入位置
 */
- (void)setCenterButton:(UIButton *)button atIndex:(NSInteger)index;


@end

NS_ASSUME_NONNULL_END
